; zhouinfo 运行的汇编程序名 也是自制系统名
; tab=4个空格
; 分号在汇编了是注释

	ORG		0x7c00		;指明程序的转载地址
;以下的记载用于标准的FAT12格式
;下面有些代码不知道它的含义 但没写就是运行不了
	JMP		entry
	DB		0x90
	DB		"zhouinfo"			; 引导扇区的名字(8个字节) 我写八个字节是要在后面做记录
	DW		512					; 每个扇区大小为512个字节(必须512个字节)
	DB		1					; 簇 的大小 必须5为一个扇区 (软盘的规定 磁盘可以更大点,不过这个程序是在模拟软盘上运行的所有为 一个扇区)
	DW		1					; FAT 起始位置 (一般从第一个扇区开始)
	DB		2					; FAT 的个数 (必须为2)
	DW		224					; 根目录大小 (一般设成224)
	DW		2880				; 该磁盘大小 (必须是2880扇区)
	DB		0xf0				; 磁盘的类型 (必须是0xf0)
	DW		9					; FAT 的长度 (必须是9扇区)
	DW		18					; 1个磁道有几个扇区 (必须是18个)
	DW		2					; 磁头数(必须是2)
	DD		0					; 不使用分区 必须是0
	DD		2880				; 重写一次磁盘大小
	DB		0,0,0x29			; 意义不明,固定写法
	DD		0xffffffff			; 可能是卷标号码
	DB		"zhouinfo   "		; 磁盘的名称(11个字节)
	DB		"FAT12   "			; 磁盘格式名称(8个字节)
	RESB	18					; 先空出18个字节

; 程序主体

entry:
	MOV		AX,0				; 初始化寄存器
	MOV		SS,AX				;
	MOV		SP,0x7c00			;
	MOV		DS,AX				;
	MOV		ES,AX				;
	
	MOV		SI,msg				;

putloop:
	MOV		AL,[SI]				;
	ADD		SI,1				; 给SI 加1
	CMP		AL,0				;
	JE		fin					;
	MOV		AH,0x0e				;显示一个文字
	MOV		BX,15				;指定字符颜色
	INT		0x10				;调用显卡BIOS
	JMP		putloop
	
fin:
	HLT							;让CPU停止 等待指令
	JMP		fin					;无限循环
	
msg:
	DB		0x0a,0x0a			;换行两次
	DB		"Lost time is never found again"
	;只要不超出0x7dff 写不了中文 只能用英文写一句很有意思的话 时不我与
	DB		0x0a,0x0a			;换行两次
	DB		"zhouinfo v0.0.2"	;我开发的版本号 进行记录开发过程
	DB		0x0a,0x0a			;换行两次
	DB		0

	RESB	0x7dfe-$			;
	DB		0x55,0xaa			;结尾要用0x55,0xaa进行结尾

;这个是结尾段 进行结尾标记的0x00输入
	DB		0xf0,0xff,0xff,0x00,0x00,0x00,0x00,0x00
	RESB	4600
	DB		0xf0,0xff,0xff,0x00,0x00,0x00,0x00,0x00
	RESB	1469432